//
//  PKDownLoadManager.m
//  PianKe
//
//  Created by lanou on 16/1/5.
//  Copyright © 2016年 KFC. All rights reserved.
//

#import "PKDownLoadManager.h"

@implementation PKDownLoadManager


// 单例
+ (instancetype) shareManager
{
    static PKDownLoadManager *manager = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        manager = [[PKDownLoadManager alloc] init];
        
    });
    
    return manager;
}


-(instancetype)init
{
    if (self = [super init]) {
        
        self.downLoadArray = [NSMutableArray array];
        
    }
    
    return self;
}




// 添加下载任务到下载关管理器中
- (void)addDownLoadToManager:(PKDownLoad *)downLoad
{
    [_downLoadArray addObject:downLoad];
}
// 从任务管理器中 移出 下载任务
- (void)removeDownLoadFromManager:(PKDownLoad *)downLoad
{
    [_downLoadArray removeObject:downLoad];
}

// 可以在外界 给 下载管理器一个model, 然后下载管理器返回model对应的下载任务,一次来控制下载任务的暂停和继续
- (PKDownLoad *)downLoadFrom:(PKDetailModel *)model
{
    // 根据传来的model来判断这个model对应的歌曲是否在下载队列里
    // model里面的属性musicUrl可以作为判断的依据
    PKDownLoad *load = nil;
    for (PKDownLoad *downLoad in _downLoadArray) {
        // 判断mdoel的url是否在下载
        if ([model.musicUrl isEqualToString:downLoad.downLoadModel.musicUrl]) {
            
            load = downLoad;
            
        }
    }
    
    
    return load;
}







@end
